package xyz.kongbai121.demo.service;

import xyz.kongbai121.demo.domain.*;

import java.util.List;

/**
 * 用户业务接口
 * @author 空白
 */
public interface IUserService {

    /**
     * 登录查询用户信息
     * @param token     用户令牌
     * @return
     */
    User info(String token);

    /**
     * 查询用户发布的所有文章
     * @param token     用户令牌
     * @return
     */
    List<Article> articlesListByUser(String token);

    /**
     * 查询用户发表的树洞
     * @param token     用户令牌
     * @return
     */
    List<Tree> treeListByUser(String token);

    /**
     *  获取用户发布的文章数
     * @param token    用户令牌
     * @return
     */
    Integer getArticleNum(String token);

    /**
     * 获取用户发布的树洞数
     * @param token    用户令牌
     * @return
     */
    Integer getTreeHoleNum(String token);

    /**
     * 获取文章未读评论数
     * @param token     用户令牌
     * @return
     */
    Integer getNewCommentNum(String token);

    /**
     * 获取用户文章评论列表
     * @param token     用户令牌
     * @return
     */
    List<Comment> getCommentList(String token);

    /**
     * 获取树洞未读意见数
     * @param token     用户令牌
     * @return
     */
    Integer getNewOpinionNum(String token);

    /**
     * 获取用户树洞意见列表
     * @param token     用户令牌
     * @return
     */
    List<Opinion> getOpinionList(String token);

    /**
     * 获取userID
     * @param token     用户令牌
     * @return
     */
    Long getUserId(String token);
}
